why main method is public static void in java